package _2字符串类;

import java.util.Date;

public class StringBufferDemo {
	public static void main(String[] args) {
		// String ���ɱ��ַ���

		// �ɱ��ַ���
		// StringBuilder (�̷߳ǰ�ȫ,�ڷǶ��߳���Ч�ʸ���)
		// StringBuffer (�̰߳�ȫ���ڶ��߳�ʹ��)

//				String a = "abc"; // a ָ��һ���ַ�������
//				a = a+ "def";// ������һ���µ��ַ��� "abcdef",a��ȥָ�����µ��ַ���
//				a = a+ "ghi";
//				System.out.println(a);// 

//				
//				StringBuffer sb = new StringBuffer("abc");
//				
//				// 1. ׷��
//				sb.append("def");
//				System.out.println(sb);
//				
//				
//				// 2. ����
//				sb.insert(2, "___");
//				System.out.println(sb);
//				
//				// 3. ɾ��
//				sb.delete(2, 2+3);
//				System.out.println(sb);
//				
//				// 4. �滻
//				sb.replace(2, 2+3, "XXXX");
//				System.out.println(sb);
//				
//				// 5. ��ת
//				sb.reverse();
//				System.out.println(sb);
//				
//				// String -> StringBuffer
//				String str = "abc";
//				StringBuffer sb2 = new StringBuffer(str);
//				
//				// String -> String
//				String str2 = sb.toString();
//				System.out.println(str);

		// ����һ���ܳ����ַ���;

		Date d1 = new Date();
		String str = "";
		for (int i = 0; i < 100000; i++) {
			str += i + ",";
		}
		System.out.println(str);
		Date d2 = new Date();

		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < 100000; i++) {
			sb.append(i + ",");
		}
		System.out.println(sb.toString());
		Date d3 = new Date();
		System.out.println(d2.getTime() - d1.getTime() + "ms");
		System.out.println(d3.getTime() - d2.getTime() + "ms");

		// String ��ʱ9378ms
		// StringBuilder ��ʱ151ms
	}
}
